home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 June: Reference Library / Dev.CD Jun 94.toast / Technical Documentation / Inside Macintosh / IM—Memory / IM—Memory.rsrc / IDX#_1000 < prev    next >
Encoding:
Text File  |  1994-04-27  |  16.8 KB  |  25 lines

  1. SymbolsABCDEFGHIJKLMNOPQRSTUVWXYZ& operator[& operator]^'SIZE' resource type, specifying partition size[SIZE resource type, specifying partition size]0 (memory location)0-length handles24-bit addressingdefined[32-bit addressingdefined[
  2. 32-bit clean[ A5 register and A5 world(grow-zone functions saving and restoringsetting and restoringA5 worlddefinedsettingAND operator[AND operator]application global variablesapplication heapdefined determining amount of free space)maximizing space to prevent fragmentation
  3. setting upapplication heap limitgettingsettingapplication heap zonemaximizing size ofapplication parametersapplication partitionsApplLimit global variableBlockMove procedureblocks, memory
  4. allocatingcopyingdefined
  5. how allocated    releasing Boolean operators, short-circuitcallback routines&and code segmentationcallback routinescode segmentation]code segmentation]and dangling pointerseffect on callback routinescompaction. See heap compactioncopying memory blocksCurrentA5 global variabledefined
  6. getting valuecushions. See memory cushionsdangling pointersavoiding    causes ofdangling procedure pointersdefined    detecting
  7. introducedlocking blocks to preventreferencing callback routines using local variables to preventdereferenced handles'dialog boxes, and low-memory situationsdisposed handles checking fordefinedpreventing dereferencing ofproblems usingDisposeHandle procedureDisposePtr proceduredouble indirection
  8. empty handles checking fordefinedEmptyHandle procedureused by a grow-zone function fake handlescreatingdefinedproblems using%fragmentation. See heap fragmentationgaps in heaps, danger ofGetApplLimit function3global variables. See application global variables\grow-zone functionsdefined
  9. example offinding protected blocksettingusing SetA5 functionusing SetCurrentA5 functionGZRootHnd global variableGZSaveHnd functionHandle data typehandleschecking validity ofdefinedheap compactiondefined%movement of relocatable blocks duringheap fragmentation    causes ofdefinedduring memory reservationmaximizing heap size to prevent
  10. preventingsummary of prevention heap purgingheap. See application heap\HGetState functionHLock procedureHLockHi procedureHNoPurge procedureHPurge procedureHSetState procedureHUnlock procedureInitZone procedureinterrupt tasksand Memory Manager routinesinterrupt time#avoiding Memory Manager routines at
  11. jump tablejump table entriesfor callback routines(linked lists, allocating new elements in,loading code segments, and dangling pointerslocking relocatable blockslow-memory conditionsmaster pointer blocksmaster pointersallocating manuallydefined#determining how many to preallocate$number per block in application zonerunning out ofMaxApplZone procedureand ApplLimit global variable,and heap fragmentation[MaxApplZone procedureheap fragmentation]heap fragmentation]automatic execution ofMemError functionmemoryallocating and releasingorganization ofmemory cushionsdefineddetermining optimal size of maintainingMemory Manager24-bit32-bitallocating master pointersand application heapcalling grow-zone functioncompacting heap
  12. data typesmovement of blocks by purging heapreserving memoryreturning result codes(memory reservation. See reserving memorymemory reserves benefits ofdefined maintainingMoreMasters procedureMoveHHi proceduremoving relocatable blocks highNewHandle functionNewHandleClear functionNewPtr functionNewPtrClear function9nonessential memory requests, checking whether to satisfynonrelocatable blocks
  13. advantages of
  14. allocatingallocating temporarily
  15. data type fordefineddisposal and reallocation of    releasingwhen to allocate
  16. partitions!.See also application partitions\pointersProcPtr data type&and code segmentationProcPtr data typecode segmentation]code segmentation]defineddetermining which they arehandle to returned by GZSaveHnd
  17. Ptr data typePurgeSpace procedurepurging heap zonesQuickDraw global variablesdefinedReallocateHandle procedurerelocatable blocks
  18. allocatingchanging properties
  19. data type fordefineddisadvantages ofemptyinggetting propertiesin bottom of heap zonelocking+for long periods of time[relocatable blockslockinglong periods of time]long periods of time]lockinglong periods of time],for short periods of time[relocatable blockslockingshort periods of time]short periods of time]lockingshort periods of time]+for long periods of time[relocatable blockslockinglong periods of time]long periods of time],for short periods of time[relocatable blockslockingshort periods of time]short periods of time]lockingshort periods of time]lockinglong periods of time],for short periods of time[relocatable blockslockingshort periods of time]short periods of time]lockingshort periods of time]long periods of time]short periods of time]short periods of time]short periods of time],for short periods of time[relocatable blockslockingshort periods of time]short periods of time]lockingshort periods of time]making purgeablemaking unpurgeablemanagingmaster pointers after disposingmaster pointers for#moving around nonrelocatable blocks moving high
  20. properties of reallocating    releasingrestrictions on locked blockssetting propertiessizingmovement duringmovement during    unlocking when to lockunlocking relocatable blocks)updating windows, saving memory space forvirtual memory
  21. introduced^WITH statement (Pascal), and dangling pointers[WITH statement (Pascal), and dangling pointers]zero (memory location)See 0 (memory location)zero-length handlesSee 0-length handles#'sysz' resource type[sysz resource]@ operator[@ operator]-_OSDispatch trap macro[OSDispatch trap macro].See also heap zonesdefinedgetting a pointer to initializing$subdividing into multiple heap zonesApplicationZone functionApplZone global variableblock contents
  22. block headers .See also nonrelocatable blocks\
  23. concatenating manipulatingsize correction forBufPtr global variable%limitation on lowering during startupByte data type(code resources, copying into system heapcompacting heap zonesCompactMem functionCompactMemSys functionconcatenating memory blockscurrent heap zonedangling pointerspointers]DeskHook global variableclearing in PascalDetachResource procedureduplicating relocatable blocks-Finder, allocation of memory for disk copying
  24. free space    assessing+assessing availability for temporary memoryFreeMem functionFreeMemSys functionGetHandleSize functionAGetNextEvent function, and temporary memory[GetNextEvent functiontemporary memory]GetPtrSize functionGetZone functionHandAndHand function#.See also relocatable blockshandles]]
  25. recoveringrelative]HandleZone functionHandToHand functionHClrRBit procedure routines for routines for
  26. heap zones.See also zone headers\    accessingchangingdefinedgetting current zone initializing manipulatingorganization of$subdividing into multiple heap zones'high memory, allocating at startup timeHSetRBit procedureInitApplZone procedure3initializing new heap zones within other heap zones?interprocess buffers, and temporary memory[interprocess bufferstemporary memory]$and temporary memory[interrupt taskstemporary memory]temporary memory]#avoiding Memory Manager routines atlogical sizes of blockslow-memory global variablesSee system global variablesMaxBlock functionMaxBlockSys functionmaximizing heap zone spaceMaxMem functionMaxMemSys functionmaxSize constantMC680x0 microprocessorsize of memory blocks withMemErr global variable.See also temporary memory\allocating during startup    assessingchanging sizes of blocksfreeing.memory blocks. See blocks, memorymemory blocks]application-defined routinescapabilities ofdefinedroutinestesting for featuresMemTop global variablemultiple heap zones implementinguses forNewEmptyHandle functionNewEmptyHandleSys functionNewHandleSys functionNewHandleSysClear functionNewPtrSys functionNewPtrSysClear function-.See also blocks, memorynonrelocatable blocks]]sizing=operating system queues, storing elements in system heap zoneoriginal application heap zonephysical sizes of blocks .See also nonrelocatable blocks\"referencing code in code resourcesprotected blocksdetermining which they arehandle to returned by GZSaveHndPtrAndHand functionPtrToHand functionPtrToXHand functionPtrZone functionpurge-warning proceduresdefinedinstalled by SetResPurgerestrictions onsampleusing SetA5 functionusing SetCurrentA5 functionPurgeMem procedurePurgeMemSys procedureRecoverHandle functionrelative handles.See also blocks, memory\clearing resource bit
  27. concatenating duplicatingsetting resource bit!relocatable blocksblocks (memory)]ReserveMem procedureReserveMemSys procedurereserving memoryroutines resource bitclearingsetting5Resource Manager, installing purge-warning proceduresresource types'sysz'[ resource typessysz]sysz]SetA5 functionused in a grow-zone function!used in a purge-warning procedureSetApplBase procedureSetApplLimit procedureSetCurrentA5 functionused in a grow-zone function!used in a purge-warning procedureSetGrowZone procedureSetHandleSize procedureSetPtrSize procedure:SetResPurge procedure, installing purge-warning proceduresSetZone procedureSignedByte data typesize correction for blocksSize data typestackdetermining available spaceStackSpace functionstartup processallocating memory duringdisplaying windows duringStr255 data typeStringHandle data typeStringPtr data typeSysEqu.p interface file4system extensions, allocating memory at startup timesystem global variableschangingdefinedreadinguses ofsystem heap zoneallocating memory increating new heap zones withindefinedgetting a pointer toinstalling interrupt code intouses forSystemZone functionSysZone global variable    tag bytesTempFreeMem functionTempMaxMem functionTempNewHandle functiontemporary memory
  28. allocating confirming success of allocationdefineddetermining zone oflimitation on lockingoperating on blocksoptimal usage of)release of during application terminationroutinestesting for features of tracking ofusing as a heap zoneTheZone global variable
  29. THz data typeTopMem functionCWaitNextEvent function, and temporary memory[WaitNextEvent functiontemporary memory]Zone data structure zone headers
  30. zone pointers zone recordszone trailer blocks
  31. zone trailers_DebugUtil trap[DebugUtil trap]5_MemoryDispatch trap macro[MemoryDispatch trap macro]E_MemoryDispatchA0Result trap macro[MemoryDispatchA0Result trap macro]Address Management Unit (AMU))address space. See logical address space\AMU (Address Management Unit)AppleShare, and paging devices!backing volume. See paging devicebacking-store filesdefinedbus-error vectorscompletion routinesdeferred under virtual memoryconcurrent driverscontrol panels, Memory.See Memory control panel
  32. data cacheand virtual memoryDebuggerEnter procedureDebuggerExit procedureDebuggerGetMax functionDebuggerLockMemory functionDebuggerPoll proceduredebuggers, and virtual memoryDebuggerUnlockMemory functionDeferUserFn function
  33. introducedusing$device drivers, avoiding page faultsdirect memory access (DMA)DMA. See direct memory accessdouble page faultsGetPageState functionGetPhysical function(and discontiguous physical address space
  34. introducedusingholding physical memoryHoldMemory functiondeferring under virtual memory-deferring code execution under virtual memoryinterrupts, nonmaskable!ISP. See stack pointer, interruptlocking physical memorydebugger routinedefined routines forLockMemory function
  35. introducedLockMemoryContiguous functionlogical address spacepossible fragmentation ofsize of with 24-bit addressingsize of with 32-bit addressing%translating to physical address space<logical-to-physical translation table. See translation table%LogicalToPhysicalTable data structureholding    releasingmemory addressesmapping logical to physical1memory configuration, obtaining information aboutMemory control panelmemory management unit (MMU)memory-block recordMemoryBlock data structureMMU (memory management unit)nonmaskable interrupts page faults.See also double page faultsdefinedhandling%intercepted by Virtual Memory Managerprotection against#Paged Memory Management Unit (PMMU)PageFaultFatal function
  36. pages, memorydefinedholdinglockinglocking contiguously    releasing    unlockingPageState data typepaging
  37. paging devicephysical address space
  38. discontiguousphysical memoryholding pages inlocking pages inreleasing pagesunlocking pages#PMMU (Paged Memory Management Unit)releasing held pages#removable disks, and virtual memory3slot-based VBL tasks, deferred under virtual memory
  39. stack pointerinterrupt (ISP)
  40. user (USP)supervisor mode system heap held in RAM under virtual memorythirty-two bit addressing]Time Manager tasksdeferred under virtual memory)translating logical to physical addressestranslation tablestwenty-four bit addressing]UnholdMemory functionunlocking physical memorydebugger routineUnlockMemory functionUSP. See stack pointer, user    VBL tasksdeferred under virtual memoryVector Base Register (VBR)and AppleShare volumesand removable disksand user interruptsbus-error vectors underCPU data cachingdebugger routinesdebugger support for"deferring interrupt code executionmanagement routinesmapping information, gettingrequirements for runningtesting for availabilityVirtual Memory Manager.See also virtual memorydata structuresdefinedroutines%setting with the Memory control panel&setting with the Memory control panel[stripping flag bitsmachines that support[%setting with the Memory control panel&setting with the Memory control panel[using temporarily[32-bit addressing[W_BlockMove trap, flushing instruction cache[BlockMove trap, flushing instruction cache]%_HWPriv trap macro[HWPriv trap macro]S_LoadSeg trap, flushing instruction cache[LoadSeg trap, flushing instruction cache]M_Read trap, flushing instruction cache[Read trap, flushing instruction cache]W_UnloadSeg trap, flushing instruction cache[UnloadSeg trap, flushing instruction cache]/use of by Toolbox and Operating System routines!using to access QuickDraw globals accessing in completion routinesaccessing in interrupt tasksaddress-translation modegettingsettingtemporarily changingaddresses. See memory addressesaddressing modes24-bit32-bitcurrent mode, getting    switching accessing in completion routinesaccessing in interrupt tasks(volume specified in Memory control panelcaches. See data cache\maintaining the A5 register in(click-loop routines, and the A5 registermaintaining the A5 register in.control action procedures, and the A5 register2control definition procedures, and the A5 registercopy-back cache/and callback routines[CurrentA5 global variablecallback routines]callback routines]
  41. getting valuedefinedflushing#deferred tasks, and the A5 registerand stale data
  42. disk cachedefined%setting with the Memory control panel disk cache\    flag bitsmaster pointer    strippingFlushCodeCache procedureFlushCodeCacheRange functionFlushDataCache procedureflushing
  43. data cacheinstruction cacheFlushInstructionCache procedureGetMMUMode function'and the A5 register[grow-zone functions A5 register] A5 register]HFS RAM Cache panel,I/O completion routines, and the A5 registerinstruction cachedefinedflushingmaintaining the A5 registerand stale instructionsand stale datamaster pointer flag bits    comparinginstruction cache    comparingconverting to 32-bit modestripping flag bits from translatingaddressing mode controlsdisk cache controls illustrated
  44. introducedRAM disk controlsvirtual memory controls/menu definition procedures, and the A5 register&Notification Manager, and the A5 world5notification response procedures, and the A5 register7OpenResFile function, calling StripAddress on filenames6OpenRFPerm function, calling StripAddress on filenamesordered address comparisonspatches, and stale instructions&Process Manager, and callback routinesprocessor caches.See also data cache\7program counter, fixing before switching to 32-bit modereading in stand-alone code structure ofusing in stand-alone codeRAM cache. See disk cache    RAM disksdefined)setting size of with Memory control panelreference constant fieldsusing to store A5 value+self-modifying code, and stale instructions
  45. stale dataavoiding problems withdefinedstale instructionsavoiding problems withdefined@stand-alone code resources, changing address-translation mode inStripAddress functionSwapDataCache functionSwapInstructionCache functionSwapMMUMode procedurecalling from stand-alone codethirty-two bit addressingmachines that support]&setting with the Memory control panel]using temporarily]&and the A5 register[Time Manager tasks A5 register] A5 register]!trap patches, and the A5 registertwenty-four bit addressing&setting with the Memory control panel]stripping flag bits]and the A5 register[VBL tasks A5 register] A5 register]backing-store file%setting with the Memory control panel1window definition procedures, and the A5 register(word-break routines, and the A5 registerwrite-through cache